package 子集;

import java.util.ArrayList;
import java.util.List;

public class enums {
    public static List<List<Integer>> enumerate(int nums[]){
        List<List<Integer>> res = new ArrayList<List<Integer>>();
        
        res.add(new ArrayList<Integer>());
        for (int num : nums) {
                int size = res.size();
            for (int i = 0; i < size; i++) {
                ArrayList<Integer> newset = new ArrayList<>(res.get(i));
                newset.add(num);
                res.add(newset);
            }
        }
        return res;


    }
    public static void recursion(int[] nums, int i, List<List<Integer>> res){
        if(i >= nums.length) return;
        int size = res.size();
        for(int j = 0;j <size;j++){
            ArrayList<Integer> subset = new ArrayList<>(res.get(i));
            subset.add(j);
            res.add(subset);
        }
        recursion(nums,i+1,res);
    }
}
